package com.smartbus.bus.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.smartbus.common.annotation.Excel;
import com.smartbus.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 站点间距离预计算对象 station_distances
 *
 * @author smartbus
 * @date 2024-09-24
 */
public class StationDistance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 起始站点ID */
    @Excel(name = "起始站点ID")
    private Integer fromStationId;

    /** 目标站点ID */
    @Excel(name = "目标站点ID")
    private Integer toStationId;

    /** 两站点间直线距离（公里） */
    @Excel(name = "两站点间直线距离", readConverterExp = "公里")
    private BigDecimal distance;

    /** 步行预估时间（分钟） */
    @Excel(name = "步行预估时间", readConverterExp = "分钟")
    private Integer walkingTime;

    /** 是否可步行换乘（1-是，0-否） */
    @Excel(name = "是否可步行换乘", readConverterExp = "1=是,0=否")
    private Integer isWalkable;

    /** 起始站点名称（非数据库字段，用于显示） */
    private String fromStationName;

    /** 目标站点名称（非数据库字段，用于显示） */
    private String toStationName;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setFromStationId(Integer fromStationId)
    {
        this.fromStationId = fromStationId;
    }

    public Integer getFromStationId()
    {
        return fromStationId;
    }

    public void setToStationId(Integer toStationId)
    {
        this.toStationId = toStationId;
    }

    public Integer getToStationId()
    {
        return toStationId;
    }

    public void setDistance(BigDecimal distance)
    {
        this.distance = distance;
    }

    public BigDecimal getDistance()
    {
        return distance;
    }

    public void setWalkingTime(Integer walkingTime)
    {
        this.walkingTime = walkingTime;
    }

    public Integer getWalkingTime()
    {
        return walkingTime;
    }

    public void setIsWalkable(Integer isWalkable)
    {
        this.isWalkable = isWalkable;
    }

    public Integer getIsWalkable()
    {
        return isWalkable;
    }

    public String getFromStationName() {
        return fromStationName;
    }

    public void setFromStationName(String fromStationName) {
        this.fromStationName = fromStationName;
    }

    public String getToStationName() {
        return toStationName;
    }

    public void setToStationName(String toStationName) {
        this.toStationName = toStationName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("fromStationId", getFromStationId())
            .append("toStationId", getToStationId())
            .append("distance", getDistance())
            .append("walkingTime", getWalkingTime())
            .append("isWalkable", getIsWalkable())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}